﻿using System.Windows.Media;
using Microsoft.VisualStudio.Text.Formatting;
using BasicallyNot.CodeTransformers.Searchers;


namespace BasicallyNot.CodeTransformers.Handlers
{

	internal interface IVisualHandler
	{

		void Handle( VisualHandlerEventArg arg );

	}



	internal class VisualHandlerEventArg
	{

		internal CodeTransformerManager Manager { get; private set; }
		internal ITextViewLine Line { get; private set; }
		internal Keyword Keyword { get; private set; }
		internal VisualSearchResult SearchResult { get; private set; }

		internal Brush CurlyBracketForeground { get; set; }
		internal Brush KeywordForeground { get; set; }

		internal VisualHandlerEventArg( CodeTransformerManager manager, ITextViewLine line, Keyword keyword, VisualSearchResult searchResult )
		{
			Manager = manager;
			Line = line;
			Keyword = keyword;
			SearchResult = searchResult;

			CurlyBracketForeground = manager.CurlyBracketForeground;
			KeywordForeground = manager.KeywordForeground;
		}

	}

}
